/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ReglasNegocio;
import AccesoDatos.*;

/**
 *
 * @author dani
 */
public class Mandador extends Persona {
    
    public Mandador(Dato id) {
        super(id);
        this.id=this.getDato(0).getValor();
    }
    
    public Mandador() {
        super();
    }
    
    @Override
    public String toString() {
        return this.nombres+" "+this.apellidos;
    }
    
    @Override
    protected Boolean asignarCampos() {
        String sql="select * from mandador";
        sql+=" where "+this.getDato(0).getNombre()+"='"+this.getDato(0).getValor()+"'";
        
        Vista v=this.conn.crearVista(sql);
        if (v.getNCampos()>0) {
            this.nombres=(String ) v.getRegistro(0, 1);
            this.apellidos=(String) v.getRegistro(0, 2);
            return true;
        }
        else
            return false;
    }
        
    
    public void Crearlo() {
        Dato[] campos=new Dato[2];
        campos[0]=new Dato("nombres",this.nombres);
        campos[1]=new Dato("apellidos",this.apellidos);
        
        this.conn.Agregar(campos, this.getNombreObjeto());
        Vista v=this.conn.crearVista("select last_insert_id()");
        this.id=String.valueOf((Long)v.getRegistro(0, 0));
    }

    @Override
    public void Actualizar() {
        String sql="update "+this.getNombreObjeto();
        sql+=" set ";
        sql+="nombres='"+this.nombres+"',";
        sql+="apellidos='"+this.apellidos+"' ";        
        sql+="where id='"+this.id+"'";
        
        this.conn.ejecutarActualizacion(sql);
        this.asignarCampos();
    }
}
